package com.bocloud.cmp.entity.resource;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.IgnoreAll;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.GenericEntity;
import com.bocloud.entity.meta.PKStrategy;

/**
 * 云供应商实体类
 * 
 * @author dongkai
 *
 */
@Table("cloud_vendor")
public class CloudVendor extends GenericEntity {

    @PK(value = PKStrategy.AUTO)
    private Long id; // ID
    @Column("address")
    private String address; // 地址
    @Column("account")
    private String account; // 管理账号
    @Column("password")
    private String password; // 管理密码
    @Column("tenant")
    private String tenant; // 所属租户
    @Column("type")
    private String type; // 类型
    @Column("version")
    private String version;// 版本
    @Column("uuid")
    private String uuid; // uuid
    @IgnoreAll
    private Integer instance; // 实例数量
    @IgnoreAll
    private Integer online; // 在线
    @IgnoreAll
    private Integer offline; // 离线
    @IgnoreAll
    private Integer hostCount;// 主机数量
    @IgnoreAll
    private Integer dataStoreCount;// 数据存储数量
    @IgnoreAll
    private Integer templateCount;// 模板数量
    @IgnoreAll
    private Integer clusterCount;// 集群数量
    @IgnoreAll
    private Integer imageCount;// 镜像数量
    @IgnoreAll
    private Integer cpuCount;// cpu核数
    @IgnoreAll
    private Integer cpuTotal; // cpu总赫兹
    @IgnoreAll
    private Integer memTotal;// 总内存
    @Column("access_key")
    private String accessKey;
    @Column("secret_key")
    private String secretKey;
    @Column("domain_name")
    private String domainName;
    @Column("project_name")
    private String projectName;

    /**
     * @return the projectName
     */
    public String getProjectName() {
        return projectName;
    }

    /**
     * @param id
     *            the projectName to set
     */
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    /**
     * @return the domainName
     */
    public String getDomainName() {
        return domainName;
    }

    /**
     * @param id
     *            the domainName to set
     */
    public void setDomainName(String domainName) {
        this.domainName = domainName;
    }

    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     *            the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the address
     */
    public String getAddress() {
        return address;
    }

    /**
     * @param address
     *            the address to set
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * @return the account
     */
    public String getAccount() {
        return account;
    }

    /**
     * @param account
     *            the account to set
     */
    public void setAccount(String account) {
        this.account = account;
    }

    /**
     * @return the password
     */
    public String getPassword() {
        return password;
    }

    /**
     * @param password
     *            the password to set
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * @return the tenant
     */
    public String getTenant() {
        return tenant;
    }

    /**
     * @param tenant
     *            the tenant to set
     */
    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    /**
     * @return the type
     */
    public String getType() {
        return type;
    }

    /**
     * @param type
     *            the type to set
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * @return the version
     */
    public String getVersion() {
        return version;
    }

    /**
     * @param version
     *            the version to set
     */
    public void setVersion(String version) {
        this.version = version;
    }

    /**
     * @return the uuid
     */
    public String getUuid() {
        return uuid;
    }

    /**
     * @param uuid
     *            the uuid to set
     */
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    /**
     * @return the instance
     */
    public Integer getInstance() {
        return instance;
    }

    /**
     * @param instance
     *            the instance to set
     */
    public void setInstance(Integer instance) {
        this.instance = instance;
    }

    /**
     * @return the online
     */
    public Integer getOnline() {
        return online;
    }

    /**
     * @param online
     *            the online to set
     */
    public void setOnline(Integer online) {
        this.online = online;
    }

    /**
     * @return the offline
     */
    public Integer getOffline() {
        return offline;
    }

    /**
     * @param offline
     *            the offline to set
     */
    public void setOffline(Integer offline) {
        this.offline = offline;
    }

    /**
     * @return the hostCount
     */
    public Integer getHostCount() {
        return hostCount;
    }

    /**
     * @param hostCount
     *            the hostCount to set
     */
    public void setHostCount(Integer hostCount) {
        this.hostCount = hostCount;
    }

    /**
     * @return the dataStoreCount
     */
    public Integer getDataStoreCount() {
        return dataStoreCount;
    }

    /**
     * @param dataStoreCount
     *            the dataStoreCount to set
     */
    public void setDataStoreCount(Integer dataStoreCount) {
        this.dataStoreCount = dataStoreCount;
    }

    /**
     * @return the templateCount
     */
    public Integer getTemplateCount() {
        return templateCount;
    }

    /**
     * @param templateCount
     *            the templateCount to set
     */
    public void setTemplateCount(Integer templateCount) {
        this.templateCount = templateCount;
    }

    /**
     * @return the clusterCount
     */
    public Integer getClusterCount() {
        return clusterCount;
    }

    /**
     * @param clusterCount
     *            the clusterCount to set
     */
    public void setClusterCount(Integer clusterCount) {
        this.clusterCount = clusterCount;
    }

    /**
     * @return the imageCount
     */
    public Integer getImageCount() {
        return imageCount;
    }

    /**
     * @param imageCount
     *            the imageCount to set
     */
    public void setImageCount(Integer imageCount) {
        this.imageCount = imageCount;
    }

    /**
     * @return the cpuCount
     */
    public Integer getCpuCount() {
        return cpuCount;
    }

    /**
     * @param cpuCount
     *            the cpuCount to set
     */
    public void setCpuCount(Integer cpuCount) {
        this.cpuCount = cpuCount;
    }

    /**
     * @return the cpuTotal
     */
    public Integer getCpuTotal() {
        return cpuTotal;
    }

    /**
     * @param cpuTotal
     *            the cpuTotal to set
     */
    public void setCpuTotal(Integer cpuTotal) {
        this.cpuTotal = cpuTotal;
    }

    /**
     * @return the memTotal
     */
    public Integer getMemTotal() {
        return memTotal;
    }

    /**
     * @param memTotal
     *            the memTotal to set
     */
    public void setMemTotal(Integer memTotal) {
        this.memTotal = memTotal;
    }

    /**
     * @return the accessKey
     */
    public String getAccessKey() {
        return accessKey;
    }

    /**
     * @param accessKey
     *            the accessKey to set
     */
    public void setAccessKey(String accessKey) {
        this.accessKey = accessKey;
    }

    /**
     * @return the secretKey
     */
    public String getSecretKey() {
        return secretKey;
    }

    /**
     * @param secretKey
     *            the secretKey to set
     */
    public void setSecretKey(String secretKey) {
        this.secretKey = secretKey;
    }

}
